package demoMod.stsconsole.cards.curses;

import demoMod.stsconsole.cards.AbstractCard;
import demoMod.stsconsole.characters.AbstractPlayer;
import demoMod.stsconsole.core.AbstractCreature;
import demoMod.stsconsole.dungeons.AbstractDungeon;
import demoMod.stsconsole.interfaces.MasterDeckChangeSubscriber;

public class Parasite extends AbstractCard implements MasterDeckChangeSubscriber {
    public static final String ID = "Parasite";

    public Parasite() {
        super(ID);
        this.color = CardColor.CURSE;
        this.cost = -1;
        this.rarity = CardRarity.SPECIAL;
        this.type = CardType.CURSE;
        this.target = CardTarget.SELF;
        this.canUse = false;
        this.upgraded = true;
    }

    @Override
    public void upgrade() {

    }

    @Override
    public boolean use(AbstractPlayer p, AbstractCreature target) {
        return false;
    }

    @Override
    public void onAddToMasterDeck(AbstractCard card) {

    }

    @Override
    public void onRemoveFromMasterDeck(AbstractCard card) {
        if (card == this) {
            AbstractDungeon.player.decreaseMaxHealth(3);
            onRemove();
        }
    }
}
